﻿IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'ReportePedidoVehiculos')
	BEGIN
		DROP  Procedure  ReportePedidoVehiculos
	END

GO

CREATE Procedure ReportePedidoVehiculos

	(
	    @fechaini datetime,
	    @fechafinal datetime,
		@idArea int
	)


AS
begin 
if(@idArea!=0)
SELECT     dbo.Pedido.Fecha, 
           dbo.DetallePedido.Cantidad, 
           dbo.Pedido.Descripcion,
           REPLACE(STR(dbo.Pedido.IdPedido, 7), ' ', '0')as 'IdPedido',
           case
           
           when dbo.Pedido.Estado=0 then 'En Espera'
           when dbo.Pedido.Estado=1 then 'Atendido' 
           
           end as 'EstadoPedido',
           dbo.DetallePedido.Descripcion AS 'Desc',
           case 
           when dbo.DetallePedido.Estado=0 then 'Desaprobado'
           when dbo.DetallePedido.Estado=1 then 'Aprobado'
           end as 'Estado',
           dbo.Area.Nombre AS 'Area',
           dbo.Ubigeo.Departamento+'-'+ dbo.Ubigeo.Provincia+'-'+dbo.Ubigeo.Distrito+'-'+ dbo.Sucursal.Direccion +'-'+ dbo.Area.Nombre AS 'Ubigeo'
FROM         dbo.Pedido INNER JOIN
                      dbo.DetallePedido ON dbo.Pedido.IdPedido = dbo.DetallePedido.IdPedido INNER JOIN
                      dbo.Area ON dbo.Pedido.IdArea = dbo.Area.IdArea INNER JOIN
                      dbo.Sucursal ON dbo.Area.IdSucursal = dbo.Sucursal.IdSucursal INNER JOIN
                      dbo.Ubigeo ON dbo.Sucursal.IdUbigeo = dbo.Ubigeo.IdUbigeo
            where    dbo.Pedido.TipoPedido=1 AND dbo.Area.IdArea=@idArea and (dbo.Pedido.Fecha between @fechaini and @fechafinal)
            
            else
            SELECT     dbo.Pedido.Fecha, 
           dbo.DetallePedido.Cantidad, 
           dbo.Pedido.Descripcion,
           REPLACE(STR(dbo.Pedido.IdPedido, 7), ' ', '0')as 'IdPedido',
           case
           
           when dbo.Pedido.Estado=0 then 'En Espera'
           when dbo.Pedido.Estado=1 then 'Atendido' 
           
           end as 'EstadoPedido',
           dbo.DetallePedido.Descripcion AS 'Desc',
           case 
           when dbo.DetallePedido.Estado=0 then 'Desaprobado'
           when dbo.DetallePedido.Estado=1 then 'Aprobado'
           end as 'Estado',
           dbo.Area.Nombre AS 'Area',
           dbo.Ubigeo.Departamento+'-'+ dbo.Ubigeo.Provincia+'-'+dbo.Ubigeo.Distrito+'-'+ dbo.Sucursal.Direccion +'-'+ dbo.Area.Nombre AS 'Ubigeo'
FROM         dbo.Pedido INNER JOIN
                      dbo.DetallePedido ON dbo.Pedido.IdPedido = dbo.DetallePedido.IdPedido INNER JOIN
                      dbo.Area ON dbo.Pedido.IdArea = dbo.Area.IdArea INNER JOIN
                      dbo.Sucursal ON dbo.Area.IdSucursal = dbo.Sucursal.IdSucursal INNER JOIN
                      dbo.Ubigeo ON dbo.Sucursal.IdUbigeo = dbo.Ubigeo.IdUbigeo
            where    dbo.Pedido.TipoPedido=1  and (dbo.Pedido.Fecha between @fechaini and @fechafinal)
end
GO


GRANT EXEC ON ReportePedidoVehiculos TO PUBLIC

GO


